home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1985-04-07 | 2.9 KB | 70 lines |
- 0 CLS:PRINT:PRINT:PRINT
- 5 PRINT" DISKETTE LABEL PROGRAM FOR THE IDS-DATAPRODUCTS PRINTER SERIES"
- 10 PRINT
- 20 PRINT" ORIGINAL PROGRAM DEVELOPED BY LOREN SACHER, 1/31/84"
- 22 PRINT
- 30 PRINT" MODIFIED FOR IDS PRINTERS, ENHANCED PRINT, ETC. ON 1/12/85"
- 33 PRINT
- 40 PRINT" BY HOWARD LUBERT - THE COMPUTER BANK - PHILADELPHIA, PA"
- 42 PRINT:PRINT
- 50 PRINT" PROGRAM REQUIRES THE FOLLOWING FILES ON THE LOGGED DRIVE;"
- 51 PRINT" BASICA.COM - COMMAND.COM - SORT.COM - LABELIDS.BAS"
- 52 PRINT
- 55 PRINT" PROGRAM WILL RUN MUCH FASTER IF ALL FILES ARE LOADED TO A"
- 56 PRINT" RAM DISK "
- 60 PRINT
- 65 PRINT" DESIGNED TO USE 5 INCH BY 1 7/16 INCH LABELS"
- 70 FOR I=1 TO 2750:NEXT I:CLS
- 100 'DISKETTE LABEL MAKER FOR IDS DATAPRODUCTS PRINTERS
- 110 ' ***********************************
- 120 ' ***DISK LABEL MAKER USEING SHELL***
- 130 ' ***********************************
- 140 ON ERROR GOTO 640
- 150 KEY OFF
- 170 DIM A$(100):DEFINT A-B,W:WDT = 1
- 180 CLS:LOCATE 25,1:PRINT" Press <ESC> to ABORT program ";
- 190 LOCATE 6,1,0:PRINT" Place Diskette to be labelled in DRIVE B: ";
- 200 LOCATE 8,1,0:PRINT" Hit <RETURN> to print label"
- 210 AN$ = INKEY$: IF AN$ = "" THEN 210
- 220 IF AN$ = CHR$(27) THEN LPRINT CHR$(24):CLS:END
- 230 IF AN$ = CHR$(13) THEN 240 ELSE 210 'CHR$13)=<CR>
- 240 '
- 250 ' ************************
- 260 ' ***READ DISK AND SORT***
- 270 ' ************************
- 280 DEF SEG:AX = PEEK(&H30): BX= PEEK(&H31) 'save offset to start of program
- 290 LOCATE 10,1,0:PRINT" Reading Diskette to create label";
- 300 SHELL "DIR B:| SORT > DIR.DAT"
- 310 DEF SEG : POKE &H30,AX:POKE &H31,BX
- 320 ' ******************************
- 330 ' ***READ DIRECTORY FROM FILE***
- 340 ' ******************************
- 350 OPEN "DIR.DAT" FOR INPUT AS 1:A = 1
- 360 WHILE NOT EOF(1)
- 370 LINE INPUT #1,AA$:IF LEN(AA$) <> 0 THEN A$(A)= AA$ ELSE 390
- 380 A = A + 1
- 390 WEND
- 400 CLOSE
- 410 ' *********************
- 420 ' ***PRINTER ROUTINE***
- 430 ' *********************
- 440 LOCATE 12,1:PRINT" Printing Disk Label";
- 450 LPRINT CHR$(30);:WIDTH "LPT1:",60: 'set 12 cpi
- 460 LPRINT CHR$(27);"j,0,$";:LPRINT CHR$(27);"B,6,$";
- 480 LPRINT CHR$(27); "L,69,63,$"; 'SET FORM LENGTH TO 1 7/16s
- 490 IF MID$(A$(4),10,3)="LBL" THEN LPRINT "Disk #"LEFT$(A$(4),3) SPC(10);'disk #
- 500 IF INSTR(A$(3),"has no") THEN LPRINT CHR$(1);:LPRINT"NAME: ";:LPRINT CHR$(2);:GOTO 530; 'no volume name on disk
- 510 LPRINT CHR$(1);:LPRINT RIGHT$(A$(3),12);:LPRINT CHR$(2); 'print volume
- 530 LPRINT STRING$(54,"-")
- 540 FOR B = 4 TO A
- 550 IF B = 36 THEN LPRINT" "
- 560 AN$ = INKEY$:IF AN$ <> CHR$(27) THEN 570 ELSE IF AN$ = CHR$(27) THEN 220
- 570 LPRINT LEFT$(A$(B),13),
- 580 NEXT
- 585 IF LPOS(0) > 1 THEN LPRINT 'return to print last line
- 600 LPRINT MID$(A$(1),8,31); 'available space info
- 620 LPRINT CHR$(12) 'form feed
- 630 GOTO 180
- 640 IF ERR = 24 THEN BEEP:LOCATE 25,1,0:PRINT"TURN ON THE PRINTER!";:RESUME 350
- 650 ON ERROR GOTO 0
-